Field of the Invention
The present invention relates to application performance monitoring and more particularly to visualizing application performance of a computer program.
Description of the Related Art
Application performance refers to the performance of a computer program during its operation. The performance can pertain to the speed at which tasks are performed, the utilization of memory, fixed storage space consumed, or any combination thereof. Of note, performance can be actual or perceived. Actual performance of a computer program can be readily measured by performance monitors—namely by measuring the number of transactions or operations performed by the computer program over a fixed period of time. Other performance monitors can easily monitor the amount of processor resources consumed by the computer program during operation, the amount of disk space consumed by the computer program, or the amount of memory consumed during the operation of the computer program.
Perceived performance, however, differs from actual performance. Perceived performance is the performance of a computer program as perceived by the end user. In this regard, irrespective of the consumption of resources by the computer program, an end user will perceive a poorly performing computer program when that computer program fails to respond to the input of the end user within a reasonable amount of time. In the case of a Web application, perceived poor performance can occur when the Web application appears to be non-responsive, or very slow to respond. Yet, in many cases, the appearance of non-responsiveness can have little to do with the computer program itself and can have everything to do with the environment in which the computer program executes, or with the environment through which the end user interacts with the computer program.
As an additional matter, the performance of a computer program can be relative. Some computer programs due to the their very nature can always appear to be performing poorly even though those programs may be performing nominally as designed. When viewed objectively through the eyes of many different end users concurrently accessing the computer program, a computer program performing identically to all of the different end users will be recognized as performing nominally. But, to the singular one of the different end users utilizing the computer program, the computer program may appear to be performing poorly. Without the benefit of the interactive experiences of the remaining ones of the different end users, the singular end user will not understand the computer program to be performing nominally.
The end result, then will be the end user perceiving poor performance unnecessarily expending resources seeking to trouble shoot the computer program, whether through interactions with a help desk, or self-help—when in fact, the computer program is performing nominally.